
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 客服信息
    serviceInfo: {
      id: "",
      customerServicePhone: "",
      wechatCustomerService: "",
      qqCustomerService: "",
      email: "",
      workTime: "",
      serviceDescription: ""
    },
    // 常见问题 - 保留原有的mock数据
    faqList: [
      {
        question: '如何预约课程？',
        answer: '您可以通过我们的APP在线预约，或拨打客服电话进行预约。'
      },
      {
        question: '课程可以退款吗？',
        answer: '根据我们的退款政策，开课前7天可全额退款，开课前3天可退款50%，开课后不予退款。'
      },
      {
        question: '如何联系讲师？',
        answer: '您可以在课程详情页面找到讲师联系方式，或通过客服为您转接。'
      },
      {
        question: '课程有效期是多久？',
        answer: '大部分课程有效期为一年，特殊课程请查看课程详情页面的说明。'
      },
      {
        question: '如何下载课程资料？',
        answer: '登录APP后，在"我的课程"页面找到已购买的课程，点击进入课程详情页即可下载相关资料。'
      }
    ],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取客服信息数据
    this.getServiceInfo();
  },

  /**
   * 获取客服信息 - http
   */
  getServiceInfo() {
    const { http } = require('../../../utils/http');
    http.get('/ssh/call/list')
      .then(res => {
        console.log('获取客服信息成功:', res);
        if (res) {
          // 获取第一条客服信息
          const serviceData = res.rows[0];
          // 映射后端数据到页面数据结构
          const serviceInfo = {
            ...serviceData
          };
          // 更新页面数据
          this.setData({
            serviceInfo: serviceInfo
          });
        } else {
          // 数据格式错误或为空
          wx.showToast({
            title: '获取客服信息失败',
            icon: 'none'
          });
        }

      })
      .catch(err => {
        // 网络请求失败
        console.error('获取客服信息失败:', err);
        wx.showToast({
          title: err.message || '网络请求失败，请检查网络连接',
          icon: 'none'
        });
      })
  },


  /**
   * 拨打电话
   */
  makePhoneCall() {
    const phone = this.data.serviceInfo.customerServicePhone;
    if (!phone) {
      wx.showToast({
        title: '暂无客服电话',
        icon: 'none'
      });
      return;
    }

    wx.makePhoneCall({
      phoneNumber: phone,
      fail: (err) => {
        wx.showToast({
          title: '拨打电话失败',
          icon: 'none'
        });
      }
    });
  },

  /**
   * 复制微信号
   */
  copyWechat() {
    const wechat = this.data.serviceInfo.wechatCustomerService;
    if (!wechat) {
      wx.showToast({
        title: '暂无微信号',
        icon: 'none'
      });
      return;
    }

    wx.setClipboardData({
      data: wechat,
      success: () => {
        wx.showToast({
          title: '微信号已复制',
          icon: 'success'
        });
      }
    });
  },

  /**
   * 复制QQ号
   */
  copyQQ() {
    const qq = this.data.serviceInfo.qqCustomerService;
    if (!qq) {
      wx.showToast({
        title: '暂无QQ号',
        icon: 'none'
      });
      return;
    }

    wx.setClipboardData({
      data: qq,
      success: () => {
        wx.showToast({
          title: 'QQ号已复制',
          icon: 'success'
        });
      }
    });
  },

  /**
   * 复制邮箱
   */
  copyEmail() {
    const email = this.data.serviceInfo.email;
    if (!email) {
      wx.showToast({
        title: '暂无邮箱地址',
        icon: 'none'
      });
      return;
    }

    wx.setClipboardData({
      data: email,
      success: () => {
        wx.showToast({
          title: '邮箱地址已复制',
          icon: 'success'
        });
      }
    });
  },

  /**
   * 展示常见问题详情
   */
  showFaqDetail(e) {
    const index = e.currentTarget.dataset.index;
    const faq = this.data.faqList[index];

    if (!faq) {
      wx.showToast({
        title: '问题信息不存在',
        icon: 'none'
      });
      return;
    }

    wx.showModal({
      title: faq.question,
      content: faq.answer,
      showCancel: false,
      confirmText: '知道了'
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 每次页面显示时，可以重新获取数据（可选）
    // this.getServiceInfo();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 下拉刷新时重新获取数据
    this.getServiceInfo();
    // 停止下拉刷新
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 如果需要分页加载更多数据，可以在这里处理
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '联系客服',
      path: '/my/pages/Call/Call'
    };
  }
})